/***********************************************************************
*
* Copyright (c) 2012-2025 Barbara Geller
* Copyright (c) 2012-2025 Ansel Sermersheim
*
* Copyright (c) 2015 The Qt Company Ltd.
* Copyright (c) 2012-2016 Digia Plc and/or its subsidiary(-ies).
* Copyright (c) 2008-2012 Nokia Corporation and/or its subsidiary(-ies).
*
* This file is part of CopperSpice.
*
* CopperSpice is free software. You can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* version 2.1 as published by the Free Software Foundation.
*
* CopperSpice is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* https://www.gnu.org/licenses/
*
***********************************************************************/

// This file is AUTO GENERATED by qautomaton2cpp.xsl

#ifndef Qxslttokenlookup_P_H
#define Qxslttokenlookup_P_H

#include <qstring.h>

namespace QPatternist {
class XSLTTokenLookup
{
 public:
   enum NodeName

   {
      NoKeyword,
      AnalyzeString,
      ApplyTemplates,
      As,
      Attribute,
      AttributeSet,
      ByteOrderMark,
      CallTemplate,
      CaseOrder,
      CdataSectionElements,
      Choose,
      Collation,
      Comment,
      Copy,
      CopyNamespaces,
      CopyOf,
      DataType,
      DefaultCollation,
      DefaultValidation,
      DoctypePublic,
      DoctypeSystem,
      Document,
      Element,
      Elements,
      Encoding,
      EscapeUriAttributes,
      ExcludeResultPrefixes,
      ExtensionElementPrefixes,
      Flags,
      ForEach,
      Format,
      Function,
      Href,
      Id,
      If,
      Import,
      ImportSchema,
      Include,
      IncludeContentType,
      Indent,
      InheritNamespaces,
      InputTypeAnnotations,
      Key,
      Lang,
      Match,
      MatchingSubstring,
      MediaType,
      Message,
      Method,
      Mode,
      Name,
      Namespace,
      NonMatchingSubstring,
      NormalizationForm,
      OmitXmlDeclaration,
      Order,
      Otherwise,
      Output,
      OutputVersion,
      Override,
      Param,
      PerformSort,
      PreserveSpace,
      Priority,
      ProcessingInstruction,
      Regex,
      Required,
      ResultDocument,
      SchemaLocation,
      Select,
      Separator,
      Sequence,
      Sort,
      Stable,
      Standalone,
      StripSpace,
      Stylesheet,
      Template,
      Terminate,
      Test,
      Text,
      Transform,
      Tunnel,
      Type,
      UndeclarePrefixes,
      Use,
      UseAttributeSets,
      UseCharacterMaps,
      UseWhen,
      Validation,
      ValueOf,
      Variable,
      Version,
      When,
      WithParam,
      XpathDefaultNamespace
   };

   static inline NodeName toToken(const QString &value);
   static inline NodeName toToken(QStringView value);
   static NodeName toToken(QStringView, int length);

   static QString toString(NodeName token);

 private:
   static inline NodeName classifier2(QStringView data);
   static inline NodeName classifier3(QStringView data);
   static inline NodeName classifier4(QStringView data);
   static inline NodeName classifier5(QStringView data);
   static inline NodeName classifier6(QStringView data);
   static inline NodeName classifier7(QStringView data);
   static inline NodeName classifier8(QStringView data);
   static inline NodeName classifier9(QStringView data);
   static inline NodeName classifier10(QStringView data);
   static inline NodeName classifier11(QStringView data);
   static inline NodeName classifier12(QStringView data);
   static inline NodeName classifier13(QStringView data);
   static inline NodeName classifier14(QStringView data);
   static inline NodeName classifier15(QStringView data);
   static inline NodeName classifier17(QStringView data);
   static inline NodeName classifier18(QStringView data);
   static inline NodeName classifier20(QStringView data);
   static inline NodeName classifier21(QStringView data);
   static inline NodeName classifier22(QStringView data);
   static inline NodeName classifier23(QStringView data);
   static inline NodeName classifier26(QStringView data);

};

inline XSLTTokenLookup::NodeName XSLTTokenLookup::toToken(const QString &value)
{
   return toToken(value, value.length());
}

inline XSLTTokenLookup::NodeName XSLTTokenLookup::toToken(QStringView value)
{
   return toToken(value, value.length());
}

}

#endif
